package com.burst.reptile.modular.zp.entity;

import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.burst.reptile.framework.aspectj.lang.annotation.Excel;
import com.burst.reptile.framework.aspectj.lang.annotation.Excel.ColumnType;
import com.burst.reptile.framework.aspectj.lang.annotation.Excel.Type;
import com.burst.reptile.modular.system.entity.SysUser;

import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * <p>
 * 资源列表
 * </p>
 *
 * @author wujin
 * @since 2020-06-15
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("zp_resources")
public class ZpResources implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 文章ID
     */
    @TableId(value = "article_id", type = IdType.ASSIGN_ID)
    @Excel(name = "信息编号", cellType = ColumnType.STRING)
    private Long articleId;

    /**
     * 生意圈标题
     */
    @Excel(name = "信息名称")
    private String title;

    /**
     * 生意圈摘要
     */
    @Excel(name = "信息摘要")
    private String summary;

    /**
     * 所属省份
     */
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    @Excel(name = "所属省份")
    private String province;

    /**
     * 所属城市
     */
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    @Excel(name = "所属城市")
    private String city;

    /**
     * 所属区县
     */
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    @Excel(name = "所属区县")
    private String county;

    /**
     * 面积（㎡）区间
     */
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    @Excel(name = "面积")
    private String area;

    /**
     * 详细地址
     */
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    @Excel(name = "详细地址")
    private String address;

    /**
     * 内容 html
     */
    private String content;

    /**
     * 纯文本内容
     */
    private String contentText;

    /**
     * 关键词
     */
    private String keywords;

    /**
     * 封面图
     */
    private String coverImage;
    
    /**
     * 视频封面图
     */
    private String coverVideo;

    /**
     * 图片集json字符串
     */
    private String pictureSet;
    
    /**
     * 视频url json数组字符串
     */
    private String videoUrl;
    
    /**
     * 视频etag json数组字符串
     */
    private String videoEtag;
    
    /**
     * 所有视频封面Json字符串数组
     */
    private String posters;
    
    /**
     * 是否是草稿 0、不是  1、草稿
     */
    private String draft;

    /**
     * 业态标签json字符串
     */
    @Excel(name = "标签")
    private String tags;

    /**
     * 文章类型(0 原创  1转载  2翻译)
     */
    @Excel(name = "类型", readConverterExp = "0=原创,1=转载,2=翻译")
    private String articleType;

    /**
     * 栏目id
     */
    private Integer columnId;

    /**
     * 业态ID
     */
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private Integer formatId;

    /**
     * 阅读量
     */
    @Excel(name = "阅读量")
    private Integer readSize;

    /**
     * 点赞量
     */
    @Excel(name = "点赞量")
    private Integer voteSize;

    /**
     * 收藏量
     */
    @Excel(name = "收藏量")
    private Integer collectSize;

    /**
     * 用户id
     */
    @Excel(name = "创建者ID")
    private Long userId;

    /**
     * 租金 价格区间
     */
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    @Excel(name = "租金")
    private String rent;

    /**
     * 出售总价区间
     */
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    @Excel(name = "总价")
    private String totalPrice;

    /**
     * 投资金额
     */
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private String investment;

    /**
     * 门店数量
     */
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private Integer numberOfStores;
    
    /**
     * 楼盘名称
     */
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    @Excel(name = "楼盘名称")
    private String propertyName;
    
    /**
     * 服务项目
     */
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private Integer serviceItems;
    
    /**
     * 联系人
     */
    @Excel(name = "联系人")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private String contacts;

    /**
     * 联系电话
     */
    @Excel(name = "联系电话")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private String telephone;
    
    /**
     * 转让费
     */
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    @Excel(name = "转让费")
    private String transferFee;
    
    /**
	 * 活动时间
	 */
    @Excel(name = "活动时间")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
	private String rangTime;
	
	/**
	 * 商品数量
	 */
    @Excel(name = "商品数量")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
	private String shopNum;
    
    /**
	 * 取货方式
	 */
    @Excel(name = "取货方式")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
	public String pickUp;
    
    /**
     * 是否推荐 0：未推荐  1：已推荐
     */
    private String rec;
    
    /**
     * 定时发布时间 标准格式化时间字符串
     */
    @Excel(name = "定时发布时间")
    private String timingTime;
    
    /**
	 * 创建者
	 */
	@TableField(fill = FieldFill.INSERT)
	@Excel(name = "创建者")
	private String createUser;

	/**
	 * 创建时间
	 */
	@TableField(fill = FieldFill.INSERT)
	@Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss", type = Type.EXPORT)
	private LocalDateTime createTime;

	/**
	 * 更新者
	 */
	@TableField(fill = FieldFill.INSERT_UPDATE)
	private String updateUser;

	/**
	 * 更新时间
	 */
	@Excel(name = "更新时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss", type = Type.EXPORT)
	@TableField(fill = FieldFill.INSERT_UPDATE)
	private LocalDateTime updateTime;
    
    /**
     * 图片集
     */
    @TableField(exist = false)
    private List<String> imgs = new ArrayList<>();
    
    /**
     * 视频集
     */
    @TableField(exist = false)
    private List<String> videos = new ArrayList<>();
    
    /**
     * 视频所有封面图
     */
    @TableField(exist = false)
    private List<String> videoPoster = new ArrayList<>();
    
    /**
     * 标签集
     */
    @TableField(exist = false)
    private List<String> tbs = new ArrayList<>();
    
    /**
     * 时间格式 为刚刚  几分钟前
     */
    @TableField(exist = false)
    private String time;
    
    /**
     * 是否点赞
     */
    @TableField(exist = false)
    private boolean vote;
    
    /**
     * 是否收藏
     */
    @TableField(exist = false)
    private boolean collect;
    
    /**
     * 用户信息
     */
    @TableField(exist = false)
    private SysUser user;

    
    /**
     * 服务项目名称
     */
    @TableField(exist = false)
    private String serviceItemsName;
    
    /**
     * 区域名称
     */
    @TableField(exist = false)
    private String countyName;
    
    /**
     * 评论数
     */
    @TableField(exist = false)
    @Excel(name = "评论数")
    private String commentNum;
    
    /**
     * 栏目名称
     */
    @Excel(name = "栏目名称")
    @TableField(exist = false)
    private String columnName;
    
    /**
     * 阅读量格式化
     */
    @TableField(exist = false)
    private String readSizeFormat;

    /**
     * 点赞量格式化
     */
    @TableField(exist = false)
    private String voteSizeFormat;

    /**
     * 收藏量格式化
     */
    @TableField(exist = false)
    private String collectSizeFormat;
    
    /**
     * 排序规则 0或空 综合排序  1 阅读量 2 点赞量 3 评论量
     */
    @TableField(exist = false)
    private Integer sortt;

}
